﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using BussinessLayer;
using BussinessEntity;
using Equin.ApplicationFramework;
using Utilities;

namespace PresentationLayer
{
    public partial class ucImport : UserControl
    {
        public ucImport()
        {
            InitializeComponent();
            LoadForm(ImportManager.GetAll().Array);
        }

        private void btnInsert_Click(object sender, EventArgs e)
        {
            frmImport frm = new frmImport();
            frm.ShowDialog();
            if (frm.PhieuNhapMoi != null)
            {
                LoadForm(ImportManager.GetAll().Array);
            }
        }

        void LoadForm(List<Import> ds)
        {
            dgvImport.AutoGenerateColumns = false;
            foreach (var d in ds)
                d.ListDetails = new List<ImportDetail>();
            dgvImport.DataSource = new BindingListView<Import>(ds);
        }

        private void biUpdate_Click(object sender, EventArgs e)
        {
            if (dgvImport.SelectedRows.Count > 0)
            {
                frmImport frm = new frmImport(DataUtil.ToString(dgvImport.SelectedRows[0].Cells["MaPN"].Value));
                frm.ShowDialog();
                if (frm.PhieuNhapMoi != null)
                {
                    LoadForm(ImportManager.GetAll().Array);
                }
            }
            else
            {
                MessageBox.Show("Bạn phải chọn một thông tin để cập nhật!!!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

        private void biDelete_Click(object sender, EventArgs e)
        {
            if (dgvImport.SelectedRows.Count > 0)
            {
                if (MessageBox.Show("Bạn có chắc chắn xóa không???", "Xác nhận",
                    MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    ActionResult<Import> rs = ImportManager.Delete(DataUtil.ToString(dgvImport.SelectedRows[0].Cells["MaPN"].Value));
                    if (rs.Success)
                    {
                        LoadForm(ImportManager.GetAll().Array);
                        MessageBox.Show("Xóa thành công!!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                        MessageBox.Show(rs.ToString(), "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                MessageBox.Show("Bạn phải chọn một thông tin để xóa!!!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }

        private void biSearch_Click(object sender, EventArgs e)
        {
            frmSearchImport frm = new frmSearchImport();
            frm.ShowDialog();
            if (frm.Result != null)
            {
                LoadForm(frm.Result);
            }
        }

        private void biRefresh_Click(object sender, EventArgs e)
        {
            LoadForm(ImportManager.GetAll().Array);
        }

        private void dgvImport_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            if (dgvImport.SelectedRows.Count > 0)
            {
                frmImport frm = new frmImport(DataUtil.ToString(dgvImport.SelectedRows[0].Cells["MaPN"].Value));
                frm.ShowDialog();
                if (frm.PhieuNhapMoi != null)
                {
                    LoadForm(ImportManager.GetAll().Array);
                }
            }
            else
            {
                MessageBox.Show("Bạn phải chọn một thông tin để cập nhật!!!", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
    }
}
